<? require_once('_lib/formvalidator.php');

	
$fields = array(
	'persontype' => 'req:Потрібно обрати один з варіантів',
	'email' => 'req:Потрібно заповнити',
	'pass' => 'req:Потрібно заповнити',
	'pass2' => 'req:Потрібно заповнити,eqelmnt=pass:Паролі не співпадають',
);

$_real_values	= array('persontype', 'email', 'pass');


class emailAlreadyUsed extends CustomValidator {
	function DoValidate(&$formars,&$error_hash) {
		$email = h(strtolower(trim($formars['email'])));
		if (datafetch('db_item', 'cs_person', "email='$email'")) {
			$error_hash['email']="Користувач з такою електронною адресою вже зареєстрований";
			return false;
		}
		return true;
	}
}

$val = new FormValidator();

foreach($fields as $f => $v) 
	foreach(explode(',', $v) as $rule) {
		$r = explode(':', $rule);
		$val->addValidation($f, $r[0], $r[1]);
	}

$val->AddCustomValidator(new emailAlreadyUsed());	

if ($val->ValidateForm()) {

	$_SESSION['reg'] = array();

	foreach($_real_values as $name) {
		if ($t = trim(postdata($name)))
			$_SESSION['reg'][$name] = $t;
	}
	
	$res = array();
	foreach($fields as $k => $v)
		$res[] = array($k, true, '');

	print(json_encode($res));
	exit;

} else {
	
	$r = array();

	$res = $val->GetErrors();
	foreach($res as $f => $e)
		if (isset($r[$f]))
			$r[$f][2] .= " $e";
		else
			$r[$f] = array($f, false, $e);
	
	$res = array();
	foreach($r as $v)
		$res[] = $v;
		
	header("Content-Type: text/html; charset=utf-8");
	print(json_encode($res));
	exit;
}

